Taming Selective Strictness
نویسندگان
چکیده
Free theorems establish interesting properties of parametrically polymorphic functions, solely from their types, and serve as a nice proof tool. For pure and lazy functional programming languages, they can be used with very few preconditions. Unfortunately, in the presence of selective strictness, as provided in languages like Haskell, their original strength is reduced. In this paper we present an approach for restrengthening them. By a refined type system which tracks the use of strict evaluation, we rule out unnecessary restrictions that otherwise emerge from the general suspicion that strict evaluation may be used at any point. Additionally, we provide an implemented algorithm determining all refined types for a given term.
منابع مشابه
Taming Selective Strictness pdfkeywords
Free theorems establish interesting properties of parametrically polymorphic functions, solely from their types, and serve as a nice proof tool. For pure and lazy functional programming languages, they can be used with very few preconditions. Unfortunately, in the presence of selective strictness, as provided in languages like Haskell, their original strength is reduced. In this paper we presen...
متن کاملSelective strictness and parametricity in structural operational semantics, inequationally
Parametric polymorphism constrains the behavior of pure functional programs in a way that allows the derivation of interesting theorems about them solely from their types, i.e., virtually for free. The formal background of such ‘free theorems’ is well developed for extensions of the Girard-Reynolds polymorphic lambda calculus by algebraic datatypes and general recursion, provided the resulting ...
متن کاملThe Role of Corporate Governance Mechanisms and the Auditor's Specialty in Debt Contract Strictness
Objective: Violation of contractual conditions leads to the transmission of bad news due to poor performance and the expertise of auditors and regulatory mechanisms can be a factor in adjusting it. In this article, the purpose is to examine the role of strictness in the debt contract and the auditor's expertise. Research Method: In order to study the subject based on the logistic regression mo...
متن کاملStrictness Analysis via Resource Typing
We present a new typing system for strictness analysis of functional programs. The system extends standard typing (including recursive data types) with strictness annotations and subtyping. Strictness typing is shown to be sound with respect to a natural operational semantics. We demonstrate that strictness types can be computed effectively.
متن کاملOptionality and Gradience in Persian Phonology: An Optimality Treatment
The distribution of the allophones of /?/in certain contexts involves free variation and gradient preferences. An organized survey was conducted to elicit the judgments of 37 native Persian speakers concerning the well-formedness of /?/allophonic behavior in five different phonological positions. The results showed that the differences in judgment between the various categories are not just t...
متن کامل